1. Field of the Invention
The present invention is generally concerned with client-server type data processing architectures. In architectures of this kind a first processor called the server is connected to physical resources, for example an electrical control unit or a measurement unit, which are made available to one or more second processors, called clients, which are not connected directly to those resources.
The invention is more precisely concerned with sharing physical resources associated with a first processor between the first processor and one or more second processors. To simplify the remainder of the description, it is assumed that a single second processor shares physical resources with a first processor with which those resources are associated.
2. Description of the Prior Art
FIG. 1 shows the first and second processors 1 and 2 in a highly schematic fashion although in one implementation both may be computers.
The first processor 1 is associated with physical resources 1a which are not directly accessible to the second processor 2. To obtain access to the physical resources 1a associated with the first processor 1, the second processor 2 sends to the first processor 1 a message REQ(X.sub.1 . . . X.sub.M) requesting access to said resources. The access request message REQ(X.sub.1 . . . X.sub.M) includes M parameters X.sub.1 . . . X.sub.M defining the nature of the access to the required resources. After receiving this message and accessing the physical resources 1a via interface means, the first processor 1 send to the second processor 2 a response message REP(Y.sub.1 . . . Y.sub.N). This response message includes information relating to the result of the request to access the resources 1a sent by the second processor 2 via the first processor 1.
Consider, by way of example, the situation in which the physical resources 1a are in the form of an electrical control unit. It may then be assumed that the message REQ(X.sub.1 . . . X.sub.M) is a remote control message to activate an electrical device in accordance with predetermined activation information. The message REP(Y.sub.1 . . . Y.sub.N) then contains one or more numerical parameters defining the result of the remote control action(s) and provided by the electrical control unit 1a.
Obviously, depending on the nature of the access to the resources 1a, the respective numbers M and N of parameters (X.sub.1 . . . X.sub.M) and (Y.sub.1 . . . Y.sub.N) sent in the request message REQ(X.sub.1 . . . X.sub.M) and in the response message REP(Y.sub.1 . . . Y.sub.N) can have any values.
As shown in FIG. 2, the first processor 1 is typically a processor or a microprocessor 10, also referred to hereinafter as the "processor circuit",and a computer program 11s. The processor circuit and the program cooperate to control and monitor the physical resources in the form of a control unit 1a and to exchange data with the latter. The program 11s controlling the operation of the microprocessor 10 can be divided into separate subroutines or basic tasks activating the microprocessor 10 to execute respective specific functions concerning control and monitoring of the physical resources 1a.
In the prior art, when physical resources 1a are to be made available to a client processor 2, it is necessary to modify the source program 11s interfacing the first processor 1 to the physical resources 1a so that the processor 1 can accept messages REQ(X.sub.1 . . . X.sub.M) requesting access to the resources from the client processor 2. The program 11s, which is a source program in a high-level language, is initially modified to define all types of resource access request messages that the first processor 1 can receive to request access to the physical resources 1a. When all access request message types have been defined, it is then necessary to introduce (as shown in FIG. 2 in the dashed outline box 11') the computer language equivalents of all the "IF-THEN" alternatives for access to the physical resources conditioned by the values taken by the parameters (X.sub.1 . . . X.sub.M) contained in the messages REQ(X.sub.1 . . . X.sub.M). These alternatives also define program jumps to predefined program addresses, as shown by the arrows on the lefthand side in FIG. 2.
This prior art solution has two major drawbacks.
Firstly it requires systematic reprogramming of the program in the server processor 1 when new types of access for new uses of the physical resources are defined. Secondly, it greatly increases the size of the program 11s when compiled, by addition of the additional program portion 11'.
The invention is directed to remedying the above drawbacks by providing a process which, for the purpose of sharing resources with a client processor, requires no modification of the program which, in cooperation with the microprocessor, manages the physical resources in the server processor. The invention also provides an interface device for implementing this method.